package site.hanzhe.service;

import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;
import site.hanzhe.entity.RoleEntity;

import java.util.List;

public interface RoleService {

    // 查询所有角色【模糊查询，分页】
    PageInfo<RoleEntity> selectPageInfo(Integer current, Integer size, String query);
    // 通过管理员查询所有角色【未分配】
    List<RoleEntity> selectUnAssignRoleByAdminId(Integer id);
    // 通过管理员查询所有角色【已分配】
    List<RoleEntity> selectAssignRoleByAdminId(Integer id);
    // 添加角色
    int insertRole(String name);
    // 更新角色
    int updateRole(RoleEntity entity);
    // 删除角色
    int deleteRoleByIdList(List<String> list);

    /**
     *  从这里往下是管理员and中间表的操作
     */
    // 通过管理员ID删除所有已分配的角色
    int deleteAssignRoleByAdminId(Integer id);
    // 通过管理员ID分配角色
    int insertAssignRoleByAdminId(@Param("id") Integer id, @Param("list") List<String> list);


}
